package com.bskms.service;

import java.util.List;

import com.bskms.bean.Course;
import com.bskms.bean.CourseNotification;

public interface CourseNotificationService {
    
    /**
     * 发送课程提醒（自动）
     * @param course 课程信息
     * @return 发送结果
     */
    boolean sendAutoCourseReminder(Course course);
    
    /**
     * 发送课程提醒（手动）
     * @param courseId 课程ID
     * @return 发送结果
     */
    boolean sendManualCourseReminder(Integer courseId);
    
    /**
     * 异步发送课程提醒（手动触发，立即返回）
     * @param courseId 课程ID
     */
    void sendManualCourseReminderAsync(Integer courseId);
    
    /**
     * 检查今天是否已经发送过提醒
     * @param courseId 课程ID
     * @return 是否已发送
     */
    boolean hasSentToday(Integer courseId);
    
    /**
     * 获取课程通知记录
     * @param courseId 课程ID
     * @return 通知记录列表
     */
    List<CourseNotification> getCourseNotifications(Integer courseId);
}
